#ifndef __CPU_H__
#define __CPU_H__
#ifdef __cplusplus
extern "C" {
#endif

#include "core/thread.h"

void losbsp_delay_cycle(uint64_t cycle);
void *losbsp_reset_thread(void (*thread_routine)(uint32_t *param),
                            struct los_thread_t *thread,uint32_t *param);
void losbsp_start_thread(struct los_thread_t *thread);
void losbsp_switch_context(struct los_thread_t *new_thread,struct los_thread_t *old_thread);
void losbsp_switch_context_int(struct los_thread_t *new_thread,struct los_thread_t *old_thread);

void losbsp_hard_exp_init(void* table);
void losbsp_tick_init(void);
void los_delay_us(uint32_t time);
#ifdef __cplusplus
}
#endif

#endif /*__CPU_H__*/

